CentOS 7
Sponsored Link

OpenStack Pike : Configure Keystone#1
2017/09/03
 
Install and Configure OpenStack Identity Service (Keystone).
This example is based on the emvironment like follows.
                  eth0|10.0.0.30 
          +-----------+-----------+
          |    [ Control Node ]   |
          |                       |
          |  MariaDB    RabbitMQ  |
          |  Memcached  httpd     |
          |  Keystone             |
          +-----------------------+

[1] Add a User and Database on MariaDB for Keystone.
[root@dlp ~]#
mysql -u root -p

Enter password:
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 10
Server version: 10.1.20-MariaDB MariaDB Server

Copyright (c) 2000, 2016, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]>
create database keystone;

Query OK, 1 row affected (0.00 sec)
MariaDB [(none)]>
grant all privileges on keystone.* to keystone@'localhost' identified by 'password';

Query OK, 0 rows affected (0.00 sec)
MariaDB [(none)]>
grant all privileges on keystone.* to keystone@'%' identified by 'password';

Query OK, 0 rows affected (0.00 sec)
MariaDB [(none)]>
flush privileges;

Query OK, 0 rows affected (0.00 sec)
MariaDB [(none)]>
exit

Bye
[2] Install Keystone.
# install from Pike, EPEL

[root@dlp ~]#
yum --enablerepo=centos-openstack-pike,epel -y install openstack-keystone openstack-utils python-openstackclient httpd mod_wsgi
[3] Configure Keystone.
[root@dlp ~]#
vi /etc/keystone/keystone.conf
# line 529: uncomment and specify Memcache server

memcache_servers =
10.0.0.30:11211
# line 662: add ( MariaDB connection info )

connection = mysql+pymysql://keystone:password@10.0.0.30/keystone
[token]
# line 2715: add

provider = fernet
driver = memcache
[root@dlp ~]#
su -s /bin/bash keystone -c "keystone-manage db_sync"
# initialize keys

[root@dlp ~]#
keystone-manage fernet_setup --keystone-user keystone --keystone-group keystone

[root@dlp ~]#
keystone-manage credential_setup --keystone-user keystone --keystone-group keystone
# define own host (controller host)

[root@dlp ~]#
export controller=10.0.0.30
# bootstrap keystone (replace any password you like for "adminpassword" section)

[root@dlp ~]#
keystone-manage bootstrap --bootstrap-password adminpassword \
--bootstrap-admin-url http://$controller:35357/v3/ \
--bootstrap-internal-url http://$controller:35357/v3/ \
--bootstrap-public-url http://$controller:5000/v3/ \
--bootstrap-region-id RegionOne
[4] If SELinux is enabled, change boolean settings.
[root@dlp ~]#
setsebool -P httpd_use_openstack on

[root@dlp ~]#
setsebool -P httpd_can_network_connect on

[root@dlp ~]#
setsebool -P httpd_can_network_connect_db on

[5] If Firewalld is running, allow ports for services.
[root@dlp ~]#
firewall-cmd --add-port={5000/tcp,35357/tcp} --permanent

success
[root@dlp ~]#
firewall-cmd --reload

success
[6] Enableconfig for Keystone ans start Apache httpd.
[root@dlp ~]#
ln -s /usr/share/keystone/wsgi-keystone.conf /etc/httpd/conf.d/

[root@dlp ~]#
systemctl start httpd

[root@dlp ~]#
systemctl enable httpd

 
Tweet